Software applications are an important factor in the usefulness and popularity of computer systems as a whole. In particular, a computer system typically comprises an operating system for interacting with the computer itself, as well as applications that use the computer by interfacing with the operating system or otherwise using the facilities of the operating system. Thus, successful identification and resolution of application issues, e.g. defects, is important to both the application vendor and the operating system vendor.
Computer software applications can typically fail in a great number of different ways, and it is economically and technologically difficult and impractical to identify and resolve every point of potential failure prior to distribution of an application. However, it is an unsound business practice to indefinitely leave a large number of defects unresolved, since such would place a great burden on users that may experience problems due to these defects. As such, software application vendors typically iteratively improve their products based on testing, consumer feedback, and so on. However, there is currently no easy way for application vendors to identify the frequency, severity, and overall user impact of particular defects and to focus their corrective efforts in the most productive manner.